#include "MoveInfo.h"
#include <stdio.h>


MoveInfo::MoveInfo():
m_ent(NULL),
m_pos(),
m_direction(),
m_cost(0),
m_isValid(false),
m_destRowCol()
{

}

MoveInfo::~MoveInfo()
{
}

void MoveInfo::SetDestination(const Position &pos)
{
	m_pos.x = pos.x;
	m_pos.y = pos.y;
}

void MoveInfo::SetDestination(int x, int y)
{
	m_pos.x = x;
	m_pos.y = y;
}

void MoveInfo::SetEntity(Entity *ent)
{
	m_ent = ent;
}

void MoveInfo::SetMoveDirection(MoveDirection dir)
{
	m_direction = dir;
}

void MoveInfo::SetCost(int cost)
{
	m_cost = cost;
}

void MoveInfo::SetIsValid(bool valid)
{
	m_isValid = valid;
}

Position MoveInfo::GetDesitination() const
{
	return m_pos;
}

Entity* MoveInfo::GetEntity() const
{
	return m_ent;
}

MoveDirection MoveInfo::GetDirection() const
{
	return m_direction;
}

int MoveInfo::GetCost() const
{
	return m_cost;
}

bool MoveInfo::IsValid() const
{
	return m_isValid;
}

void MoveInfo::SetDesitinationRowCol(const Position &pos)
{
	m_destRowCol.x = pos.x;
	m_destRowCol.y = pos.y;
}

void MoveInfo::SetDesitinationRowCol(int x, int y)
{
	m_destRowCol.x = x;
	m_destRowCol.y = y;
}

Position MoveInfo::GetDestinationRowCol() const
{
	return m_destRowCol;
}
